GdkEventButton *event)
{
return _gtk_widget_run_controllers (widget, (GdkEvent *) event,
- GTK_PHASE_TARGET);
+ GTK_PHASE_BUBBLE);
}
static gboolean
GdkEventMotion *event)
{
return _gtk_widget_run_controllers (widget, (GdkEvent *) event,
- GTK_PHASE_TARGET);
+ GTK_PHASE_BUBBLE);
}
static gboolean
if (!event->emulating_pointer)
return _gtk_widget_run_controllers (widget, (GdkEvent*) event,
- GTK_PHASE_TARGET);
+ GTK_PHASE_BUBBLE);
if (event->type == GDK_TOUCH_BEGIN ||
event->type == GDK_TOUCH_END)
GdkEventGrabBroken *event)
{
return _gtk_widget_run_controllers (widget, (GdkEvent*) event,
- GTK_PHASE_TARGET);
+ GTK_PHASE_BUBBLE);
}
#define WIDGET_REALIZED_FOR_EVENT(widget, event) \
g_object_ref (widget);
+ if (widget == gtk_get_event_widget (event))
+ return_val |= _gtk_widget_run_controllers (widget, event, GTK_PHASE_TARGET);
+
g_signal_emit (widget, widget_signals[EVENT], 0, event, &handled);
return_val |= handled | !WIDGET_REALIZED_FOR_EVENT (widget, event);
if (!return_val)
else
return_val = TRUE;
- return_val |= _gtk_widget_run_controllers (widget, event, GTK_PHASE_BUBBLE);
-
g_object_unref (widget);
return return_val;